﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Web.Framework;
using System.ServiceModel;
using Web.Framework.Svc;
using CrmContacto.Contracts;
using CrmContacto.WebApp.ServiceReferenceApiAuth;
using CrmContacto.Contracts.Contracts.Search;
using CrmContacto.Contracts.Contracts;
using CrmContacto.Contracts.Contracts.Misc;
using CrmContacto.ServiceFactory;
using CrmContacto.Contracts.Services;
using CrmContacto.WebApp.Code.Sap;
using CrmContacto.SapWs.ServiceReferenceSAP_ZWS_PRODUCTOS;


namespace Web.CrmContacto.Code.Sap
{
    public class SAPWebServiceHelper
    {
        public string UserName = "gaci";
        public string Password = "gacivesuvio";
        public string Lang = "S";

        public List<SapCodigoProductoCompleto> ZWS_PRODUCTOS(SapCheckMantRDescParam param)
        {
            List<SapCodigoProductoCompleto> productosDeSap = new List<SapCodigoProductoCompleto>();
            ZWS_PRODUCTOSClient sapClient = new ZWS_PRODUCTOSClient();
            sapClient.ClientCredentials.UserName.UserName = UserName;
            sapClient.ClientCredentials.UserName.Password = Password;

            int cantidadRegistros = param.CantidadDeRegistros ?? 200;
            ZWS_PRODUCTOS_OUTLINE[] productos = new ZWS_PRODUCTOS_OUTLINE[cantidadRegistros];

            ZWS_MATERIALES_ERROR[] errores = sapClient.ZWS_PRODUCTOS(param.Color, param.Descripcion, param.Empresa, param.Idioma, cantidadRegistros.ToString(), param.Producto, out productos);

            long i = 0;
            foreach (ZWS_PRODUCTOS_OUTLINE resp in productos)
            {
                SapCodigoProductoCompleto prod = new SapCodigoProductoCompleto();
                prod.Id = i;
                prod.Codigo = resp.PRODUCTO;
                prod.Color = resp.COLOR;
                prod.Descripcion = resp.DESCRIPCION;
                productosDeSap.Add(prod);
                i++;
            }

            return productosDeSap;
        }        
    }
}